<?xml version="1.0" encoding="iso-8859-1"?>
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
  <html xmlns="http://www.w3.org/1999/xhtml">
		<head>
			<!-- template designed by Marco Von Ballmoos -->
			<title>Docs For Class ASF_Object_Index</title>
			<link rel="stylesheet" href="../../media/stylesheet.css" />
			<meta http-equiv='Content-Type' content='text/html; charset=iso-8859-1'/>
		</head>
		<body>
			<div class="page-body">			
<h2 class="class-name">Class ASF_Object_Index</h2>

<a name="sec-description"></a>
<div class="info-box">
	<div class="info-box-title">Description</div>
	<div class="nav-bar">
					<span class="disabled">Description</span> |
													<a href="#sec-vars">Vars</a>
						|											<a href="#sec-method-summary">Methods</a> (<a href="#sec-methods">details</a>)
						
											<a href="#sec-const-summary">Constants</a> (<a href="#sec-consts">details</a>)
						
			</div>
	<div class="info-box-body">
        		<!-- ========== Info from phpDoc block ========= -->
<p class="short-description">This top-level ASF object supplies the necessary indexing information for an  ASF file that contains more than just a plain script-audio-video combination.</p>
<p class="description"><p>It includes stream-specific indexing information based on an adjustable index  entry time interval. The index is designed to be broken into blocks to  facilitate storage that is more space-efficient by using 32-bit offsets  relative to a 64-bit base. That is, each index block has a full 64-bit offset  in the block header that is added to the 32-bit offsets found in each index  entry. If a file is larger than 2^32 bytes, then multiple index blocks can be  used to fully index the entire large file while still keeping index entry  offsets at 32 bits.</p><p>Indices into the <em>Index Object</em> are in terms of presentation times. The  corresponding <em>Offset</em> field values of the <em>Index Entry</em> byte  offsets that, when combined with the <em>Block Position</em> value of the  <em>Index Block</em>, indicate the starting location in bytes of an ASF Data  Packet relative to the start of the first ASF Data Packet in the file.</p><p>An offset value of 0xFFFFFFFF is used to indicate an invalid offset value.  Invalid offsets signify that this particular index entry does not identify a  valid indexible point. Invalid offsets may occur for the initial index  entries of a digital media stream whose first ASF Data Packet has a non-zero  send time. Invalid offsets may also occur in the case where a digital media  stream has a large gap in the presentation time of successive objects.</p><p>The <em>Index Object</em> is not recommended for use with files where the  <em>Send Time</em> of the first <em>Data Packet</em> within the <em>Data
 Object</em> has a <em>Send Time</em> value significantly greater than zero  (otherwise the index itself will be sparse and inefficient).</p><p>Any ASF file containing an <em>Index Object</em> does also contain an <em>Index
 Parameters Object</em> in its <a href="../../php-reader/ASF/ASF_Object_Header.html">ASF Header</a>.</p></p>
	<ul class="tags">
				<li><span class="field">author:</span> Sven Vollbehr &lt;<a href="mailto:svollbehr@gmail.com">svollbehr@gmail.com</a>&gt;</li>
				<li><span class="field">version:</span> $Rev: 108 $</li>
				<li><span class="field">copyright:</span> Copyright (c) 2008 The PHP Reader Project Workgroup</li>
				<li><span class="field">license:</span> <a href="http://code.google.com/p/php-reader/wiki/License">New BSD License</a></li>
			</ul>
		<p class="notes">
			Located in <a class="field" href="_ASF---Object---Index.php.html">/ASF/Object/Index.php</a> (line <span class="field">82</span>)
		</p>
		
				
		<pre><a href="../../php-reader/ASF/ASF_Object.html">ASF_Object</a>
   |
   --ASF_Object_Index</pre>
	
			</div>
</div>


	<a name="sec-const-summary"></a>
	<div class="info-box">
		<div class="info-box-title">Class Constant Summary</span></div>
		<div class="nav-bar">
			<a href="#sec-description">Description</a> |
						<span class="disabled">Constants</span> (<a href="#sec-consts">details</a>)
												<a href="#sec-vars">Vars</a>
				 
				|
										| 
									<a href="#sec-method-summary">Methods</a> (<a href="#sec-methods">details</a>)
							
					</div>
		<div class="info-box-body">
			<div class="const-summary">
								<div class="const-title">
					<img src="../../media/images/Constant.png" alt=" " />
					<a href="#NEAREST_PAST_CLEANPOINT" title="details" class="const-name">NEAREST_PAST_CLEANPOINT</a> = 					<span class="var-type"> 3</span>

				</div>
								<div class="const-title">
					<img src="../../media/images/Constant.png" alt=" " />
					<a href="#NEAREST_PAST_DATA_PACKET" title="details" class="const-name">NEAREST_PAST_DATA_PACKET</a> = 					<span class="var-type"> 1</span>

				</div>
								<div class="const-title">
					<img src="../../media/images/Constant.png" alt=" " />
					<a href="#NEAREST_PAST_MEDIA" title="details" class="const-name">NEAREST_PAST_MEDIA</a> = 					<span class="var-type"> 2</span>

				</div>
							</div>
		</div>
	</div>


	<a name="sec-method-summary"></a>
	<div class="info-box">
		<div class="info-box-title">Method Summary</span></div>
		<div class="nav-bar">
			<a href="#sec-description">Description</a> |
															<a href="#sec-const-summary">Constants</a> (<a href="#sec-consts">details</a>)
							
															<a href="#sec-vars">Vars</a>
				 
				|
						<span class="disabled">Methods</span> (<a href="#sec-methods">details</a>)
		</div>
		<div class="info-box-body">			
			<div class="method-summary">
																																				
												<div class="method-definition">
											<span class="method-result">ASF_Object_Index</span>
										<a href="#__construct" title="details" class="method-name">__construct</a>
											(<span class="var-type"><a href="../../php-reader/Reader.html">Reader</a></span>&nbsp;<span class="var-name">$reader</span>, [<span class="var-type"></span>&nbsp;<span class="var-name">&$options</span> = <span class="var-default">array()</span>], <span class="var-type">Array</span>&nbsp;<span class="var-name">$options</span>)
									</div>
																<div class="method-definition">
											<span class="method-result">Array</span>
										<a href="#getIndexBlocks" title="details" class="method-name">getIndexBlocks</a>
										()
									</div>
																<div class="method-definition">
											<span class="method-result">integer</span>
										<a href="#getIndexEntryTimeInterval" title="details" class="method-name">getIndexEntryTimeInterval</a>
										()
									</div>
																<div class="method-definition">
											<span class="method-result">Array</span>
										<a href="#getIndexSpecifiers" title="details" class="method-name">getIndexSpecifiers</a>
										()
									</div>
								</div>
		</div>
	</div>		

	<a name="sec-vars"></a>
	<div class="info-box">
		<div class="info-box-title">Variables</div>
		<div class="nav-bar">
			<a href="#sec-description">Description</a> |
										<a href="#sec-var-summary">Vars</a> (<span class="disabled">details</span>)
						
			
												<a href="#sec-const-summary">Constants</a> (<a href="#sec-consts">details</a>)
							
										| 
									<a href="#sec-method-summary">Methods</a> (<a href="#sec-methods">details</a>)
							
					</div>
		<div class="info-box-body">
										<h4>Inherited Variables</h4>
				<A NAME='inherited_vars'><!-- --></A>
									<p>Inherited from <span class="classname"><a href="../../php-reader/ASF/ASF_Object.html">ASF_Object</a></span></p>
					<blockquote>
													<span class="var-title">
								<span class="var-name"><a href="../../php-reader/ASF/ASF_Object.html#var$_options">ASF_Object::$_options</a></span><br>
							</span>
													<span class="var-title">
								<span class="var-name"><a href="../../php-reader/ASF/ASF_Object.html#var$_reader">ASF_Object::$_reader</a></span><br>
							</span>
											</blockquote> 
										
		</div>
	</div>
	
	<a name="sec-methods"></a>
	<div class="info-box">
		<div class="info-box-title">Methods</div>
		<div class="nav-bar">
			<a href="#sec-description">Description</a> |
															<a href="#sec-vars">Vars</a>
																			<a href="#sec-const-summary">Constants</a> (<a href="#sec-consts">details</a>)
							
										<a href="#sec-method-summary">Methods</a> (<span class="disabled">details</span>)
						
		</div>
		<div class="info-box-body">
			<A NAME='method_detail'></A>

<a name="method__construct" id="__construct"><!-- --></a>
<div class="evenrow">
	
	<div class="method-header">
		<span class="method-title">Constructor __construct</span> (line <span class="line-number">123</span>)
	</div> 
	
	<!-- ========== Info from phpDoc block ========= -->
<p class="short-description">Constructs the class with given parameters and reads object related data  from the ASF file.</p>
	<ul class="tags">
				<li><span class="field">access:</span> public</li>
			</ul>
	
	<div class="method-signature">
		<span class="method-result">ASF_Object_Index</span>
		<span class="method-name">
			__construct
		</span>
					(<span class="var-type"><a href="../../php-reader/Reader.html">Reader</a></span>&nbsp;<span class="var-name">$reader</span>, [<span class="var-type"></span>&nbsp;<span class="var-name">&$options</span> = <span class="var-default">array()</span>], <span class="var-type">Array</span>&nbsp;<span class="var-name">$options</span>)
			</div>
	
			<ul class="parameters">
					<li>
				<span class="var-type"><a href="../../php-reader/Reader.html">Reader</a></span>
				<span class="var-name">$reader</span><span class="var-description">: The reader object.</span>			</li>
					<li>
				<span class="var-type">Array</span>
				<span class="var-name">$options</span><span class="var-description">: The options array.</span>			</li>
					<li>
				<span class="var-type"></span>
				<span class="var-name">&$options</span>			</li>
				</ul>
		
			<hr class="separator" />
		<div class="notes">Redefinition of:</div>
		<dl>
			<dt><a href="../../php-reader/ASF/ASF_Object.html#method__construct">ASF_Object::__construct()</a></dt>
						<dd>Constructs the class with given parameters and options.</dd>
					</dl>
			
	</div>
<a name="methodgetIndexBlocks" id="getIndexBlocks"><!-- --></a>
<div class="oddrow">
	
	<div class="method-header">
		<span class="method-title">getIndexBlocks</span> (line <span class="line-number">184</span>)
	</div> 
	
	<!-- ========== Info from phpDoc block ========= -->
<p class="short-description">Returns an array of index entries. Each entry consists of the following  keys.</p>
<p class="description"><p><ul><li>blockPositions -- Specifies a list of byte offsets of the beginnings of
     the blocks relative to the beginning of the first Data Packet (for
     example, the beginning of the Data Object + 50 bytes).</li></ul> <ul><li>indexEntryOffsets -- Specifies the offset. An offset value of
     0xffffffff indicates an invalid offset value.</li></ul></p></p>
	<ul class="tags">
				<li><span class="field">access:</span> public</li>
			</ul>
	
	<div class="method-signature">
		<span class="method-result">Array</span>
		<span class="method-name">
			getIndexBlocks
		</span>
				()
			</div>
	
		
			
	</div>
<a name="methodgetIndexEntryTimeInterval" id="getIndexEntryTimeInterval"><!-- --></a>
<div class="evenrow">
	
	<div class="method-header">
		<span class="method-title">getIndexEntryTimeInterval</span> (line <span class="line-number">153</span>)
	</div> 
	
	<!-- ========== Info from phpDoc block ========= -->
<p class="short-description">Returns the time interval between each index entry in ms.</p>
	<ul class="tags">
				<li><span class="field">access:</span> public</li>
			</ul>
	
	<div class="method-signature">
		<span class="method-result">integer</span>
		<span class="method-name">
			getIndexEntryTimeInterval
		</span>
				()
			</div>
	
		
			
	</div>
<a name="methodgetIndexSpecifiers" id="getIndexSpecifiers"><!-- --></a>
<div class="oddrow">
	
	<div class="method-header">
		<span class="method-title">getIndexSpecifiers</span> (line <span class="line-number">169</span>)
	</div> 
	
	<!-- ========== Info from phpDoc block ========= -->
<p class="short-description">Returns an array of index specifiers. Each entry consists of the following  keys.</p>
<p class="description"><p><ul><li>streamNumber -- Specifies the stream number that the <em>Index
     Specifiers</em> refer to. Valid values are between 1 and 127.</li></ul> <ul><li>indexType -- Specifies the type of index.</li></ul></p></p>
	<ul class="tags">
				<li><span class="field">access:</span> public</li>
			</ul>
	
	<div class="method-signature">
		<span class="method-result">Array</span>
		<span class="method-name">
			getIndexSpecifiers
		</span>
				()
			</div>
	
		
			
	</div>
							<h4>Inherited Methods</h4>
				<a name='inherited_methods'><!-- --></a>	
									<!-- =========== Summary =========== -->
					<p>Inherited From <span class="classname"><a href="../../php-reader/ASF/ASF_Object.html">ASF_Object</a></span></p>
					<blockquote>
													<span class="method-name"><a href="../../php-reader/ASF/ASF_Object.html#method__construct">ASF_Object::__construct()</a></span><br>
													<span class="method-name"><a href="../../php-reader/ASF/ASF_Object.html#methodgetIdentifier">ASF_Object::getIdentifier()</a></span><br>
													<span class="method-name"><a href="../../php-reader/ASF/ASF_Object.html#methodgetOffset">ASF_Object::getOffset()</a></span><br>
													<span class="method-name"><a href="../../php-reader/ASF/ASF_Object.html#methodgetOption">ASF_Object::getOption()</a></span><br>
													<span class="method-name"><a href="../../php-reader/ASF/ASF_Object.html#methodgetOptions">ASF_Object::getOptions()</a></span><br>
													<span class="method-name"><a href="../../php-reader/ASF/ASF_Object.html#methodgetParent">ASF_Object::getParent()</a></span><br>
													<span class="method-name"><a href="../../php-reader/ASF/ASF_Object.html#methodgetSize">ASF_Object::getSize()</a></span><br>
													<span class="method-name"><a href="../../php-reader/ASF/ASF_Object.html#methodsetIdentifier">ASF_Object::setIdentifier()</a></span><br>
													<span class="method-name"><a href="../../php-reader/ASF/ASF_Object.html#methodsetOffset">ASF_Object::setOffset()</a></span><br>
													<span class="method-name"><a href="../../php-reader/ASF/ASF_Object.html#methodsetOption">ASF_Object::setOption()</a></span><br>
													<span class="method-name"><a href="../../php-reader/ASF/ASF_Object.html#methodsetOptions">ASF_Object::setOptions()</a></span><br>
													<span class="method-name"><a href="../../php-reader/ASF/ASF_Object.html#methodsetParent">ASF_Object::setParent()</a></span><br>
													<span class="method-name"><a href="../../php-reader/ASF/ASF_Object.html#methodsetSize">ASF_Object::setSize()</a></span><br>
													<span class="method-name"><a href="../../php-reader/ASF/ASF_Object.html#method__get">ASF_Object::__get()</a></span><br>
													<span class="method-name"><a href="../../php-reader/ASF/ASF_Object.html#method__set">ASF_Object::__set()</a></span><br>
											</blockquote>
										
		</div>
	</div>

	<a name="sec-consts"></a>
	<div class="info-box">
		<div class="info-box-title">Class Constants</div>
		<div class="nav-bar">
			<a href="#sec-description">Description</a> |
										<a href="#sec-var-summary">Constants</a> (<span class="disabled">details</span>)
						
			
												<a href="#sec-vars">Vars</a>
														| 
									<a href="#sec-method-summary">Methods</a> (<a href="#sec-methods">details</a>)
							
					</div>
		<div class="info-box-body">
			<a name="constNEAREST_PAST_CLEANPOINT" id="NEAREST_PAST_CLEANPOINT"><!-- --></A>
<div class="evenrow">

	<div class="const-header">
		<img src="../../media/images/Variable.png" />
		<span class="const-title">
			<span class="const-name">NEAREST_PAST_CLEANPOINT</span>
			 = <span class="const-default"> 3</span>
			(line <span class="line-number">105</span>)
		</span>
	</div>

	<!-- ========== Info from phpDoc block ========= -->
<p class="short-description">Indicates that the index type is Nearest Past Cleanpoint. The Nearest Past  Cleanpoint indexes point to the closest data packet containing an entire  object (or first fragment of an object) that has the Cleanpoint Flag set.</p>
<p class="description"><p>Nearest Past Cleanpoint is the most common type of index.</p></p>
	
	
</div>
<a name="constNEAREST_PAST_DATA_PACKET" id="NEAREST_PAST_DATA_PACKET"><!-- --></A>
<div class="oddrow">

	<div class="const-header">
		<img src="../../media/images/Variable.png" />
		<span class="const-title">
			<span class="const-name">NEAREST_PAST_DATA_PACKET</span>
			 = <span class="const-default"> 1</span>
			(line <span class="line-number">89</span>)
		</span>
	</div>

	<!-- ========== Info from phpDoc block ========= -->
<p class="short-description">Indicates that the index type is Nearest Past Data Packet. The Nearest  Past Data Packet indexes point to the data packet whose presentation time  is closest to the index entry time.</p>
	
	
</div>
<a name="constNEAREST_PAST_MEDIA" id="NEAREST_PAST_MEDIA"><!-- --></A>
<div class="evenrow">

	<div class="const-header">
		<img src="../../media/images/Variable.png" />
		<span class="const-title">
			<span class="const-name">NEAREST_PAST_MEDIA</span>
			 = <span class="const-default"> 2</span>
			(line <span class="line-number">96</span>)
		</span>
	</div>

	<!-- ========== Info from phpDoc block ========= -->
<p class="short-description">Indicates that the index type is Nearest Past Media. The Nearest Past  Object indexes point to the closest data packet containing an entire object  or first fragment of an object.</p>
	
	
</div>
						
		</div>
	</div>

	<p class="notes" id="credit">
		Documentation generated on Thu, 01 Jan 2009 14:59:22 +0200 by <a href="http://www.phpdoc.org" target="_blank">phpDocumentor 1.4.1</a>
	</p>
	</div></body>
</html>